<head>
    <meta charset="UTF-8">
<title>算法训练 Tricky and Clever Password</title>
<link rel="stylesheet" href="../css/main.css">
</head>
 <p>【问题描述】<br />
&nbsp;&nbsp;&nbsp;&nbsp; 在年轻的时候，我们故事中的英雄&mdash;&mdash;国王 Copa&mdash;&mdash;他的私人数据并不是完全安全地隐蔽。对他来说是，这不可接受的。因此，他发明了一种密码，好记又难以破解。后来，他才知道这种密码是一个长度为奇数的回文串。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; Copa 害怕忘记密码，所以他决定把密码写在一张纸上。他发现这样保存密码不安全，于是他决定按下述方法加密密码：他选定一个整数 X ，保证 X 不小于 0 ，且 2X 严格小于串长度。然后他把密码分成 3 段，最前面的 X 个字符为一段，最后面的 X 个字符为一段，剩余的字符为一段。不妨把这三段依次称之为 prefix, suffix, middle 。显然， middle 的长度为一个大于 0 的奇数，且 prefix 、 suffix 的长度相等。他加密后的密码即为 A + prefix + B + middle + C + suffix ，其中 A 、 B 、 C 是三个由 Copa 选定的字符串，且都有可能为空， + 表示字符串相连。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 许多年过去了。Copa 昨天找到了当年写下加密后字符串的那张纸。但是，Copa 把原密码、A、B、C 都忘了。现在，他请你找一个尽量长的密码，使得这个密码有可能被当年的 Copa 发明、加密并写下。<br />
<br />
【输入格式】<br />
&nbsp;&nbsp;&nbsp;&nbsp; 输入包含一个只含有小写拉丁字母的字符串，长度在 1 到 10^5 之内。<br />
【输出格式】<br />
&nbsp;&nbsp;&nbsp;&nbsp; 第一行包含一个整数 k ，表示你找到的原密码分成的 3 个部分中有多少个非空字符串。显然 k in {1, 3} 。接下来 k 行，每行 2 个用空格分开的整数 x_i l_i ，表示这一部分的起始位置和长度。要求输出的 x_i 递增。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 起始位置 x_i 应该在 1 到加密后的字符串长度之间。 l_i 必须是正整数，因为你只要输出非空部分的信息。 middle 的长度必须为奇数。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 如果有多组答案，任意一组即可。提示：你要最大化的是输出的 l_i 的总和，而不是 k 。<br />
<br />
【样例输入】<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; abacaba<br />
【样例输出】<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 7</p>
<p>【样例输入】<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; axbya<br />
【样例输出】<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5 1</p>
<p>【样例输入】<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xabyczba<br />
<br />
【样例输出】<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7 2<br />
<br />
【数据规模和约定】<br />
&nbsp;&nbsp;&nbsp;&nbsp; 对于 10% 的数据： n &lt;= 10<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 对于 30% 的数据： n &lt;= 100<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 对于 100% 的数据： n &lt;= 100000<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 存在 20% 的数据，输出文件第一行为 1 。</p>